#include <iostream>
#include <stdio.h>
using namespace std;

class AA 
{ 
public:
	AA(int a=0) 
	{ 
		X=a;  
		 
	}
	AA(const AA &p ) 	    //拷贝构造函数
	{ 
		X=p.X; 
	}
	~AA() 
	{ 
	}

	int  GetX()
	{ 
		return X; 
	}	

private:
	int X;
};

//第3个调用场景
void func(AA  p)    //形参是一个元素，函数调用，会执行实参变量初始化形参变量
{ 
	int a;
	a=p.GetX();
	printf("%d\n",a);
}

int main()
{  
	AA A(99);     //创建对象并初始化	
	func(A) ;     //实参初始化形参，调用拷贝构造函数---->AA p=A
	return 0; 
}
